home *** CD-ROM | disk | FTP | other *** search
-
-
-
- SSSSLLLLAAAASSSSDDDDQQQQ((((3333SSSS)))) SSSSLLLLAAAASSSSDDDDQQQQ((((3333SSSS))))
-
-
-
- NNNNAAAAMMMMEEEE
- SLASDQ - compute the singular value decomposition (SVD) of a real (upper
- or lower) bidiagonal matrix with diagonal D and offdiagonal E,
- accumulating the transformations if desired
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- SUBROUTINE SLASDQ( UPLO, SQRE, N, NCVT, NRU, NCC, D, E, VT, LDVT, U, LDU,
- C, LDC, WORK, INFO )
-
- CHARACTER UPLO
-
- INTEGER INFO, LDC, LDU, LDVT, N, NCC, NCVT, NRU, SQRE
-
- REAL C( LDC, * ), D( * ), E( * ), U( LDU, * ), VT( LDVT, *
- ), WORK( * )
-
- IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
- These routines are part of the SCSL Scientific Library and can be loaded
- using either the -lscs or the -lscs_mp option. The -lscs_mp option
- directs the linker to use the multi-processor version of the library.
-
- When linking to SCSL with -lscs or -lscs_mp, the default integer size is
- 4 bytes (32 bits). Another version of SCSL is available in which integers
- are 8 bytes (64 bits). This version allows the user access to larger
- memory sizes and helps when porting legacy Cray codes. It can be loaded
- by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
- only one of the two versions; 4-byte integer and 8-byte integer library
- calls cannot be mixed.
-
- PPPPUUUURRRRPPPPOOOOSSSSEEEE
- SLASDQ computes the singular value decomposition (SVD) of a real (upper
- or lower) bidiagonal matrix with diagonal D and offdiagonal E,
- accumulating the transformations if desired. Letting B denote the input
- bidiagonal matrix, the algorithm computes orthogonal matrices Q and P
- such that B = Q * S * P' (P' denotes the transpose of P). The singular
- values S are overwritten on D.
-
- The input matrix U is changed to U * Q if desired.
- The input matrix VT is changed to P' * VT if desired.
- The input matrix C is changed to Q' * C if desired.
-
- See "Computing Small Singular Values of Bidiagonal Matrices With
- Guaranteed High Relative Accuracy," by J. Demmel and W. Kahan, LAPACK
- Working Note #3, for a detailed description of the algorithm.
-
-
- AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
- UPLO (input) CHARACTER*1
- On entry, UPLO specifies whether the input bidiagonal matrix is
- upper or lower bidiagonal, and wether it is square are not. UPLO =
- 'U' or 'u' B is upper bidiagonal. UPLO = 'L' or 'l' B is lower
- bidiagonal.
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- SSSSLLLLAAAASSSSDDDDQQQQ((((3333SSSS)))) SSSSLLLLAAAASSSSDDDDQQQQ((((3333SSSS))))
-
-
-
- SQRE (input) INTEGER
- = 0: then the input matrix is N-by-N.
- = 1: then the input matrix is N-by-(N+1) if UPLU = 'U' and (N+1)-
- by-N if UPLU = 'L'.
-
- The bidiagonal matrix has N = NL + NR + 1 rows and M = N + SQRE >=
- N columns.
-
- N (input) INTEGER
- On entry, N specifies the number of rows and columns in the matrix.
- N must be at least 0.
-
- NCVT (input) INTEGER
- On entry, NCVT specifies the number of columns of the matrix VT.
- NCVT must be at least 0.
-
- NRU (input) INTEGER
- On entry, NRU specifies the number of rows of the matrix U. NRU
- must be at least 0.
-
- NCC (input) INTEGER
- On entry, NCC specifies the number of columns of the matrix C. NCC
- must be at least 0.
-
- D (input/output) REAL array, dimension (N)
- On entry, D contains the diagonal entries of the bidiagonal matrix
- whose SVD is desired. On normal exit, D contains the singular
- values in ascending order.
-
- E (input/output) REAL array.
- dimension is (N-1) if SQRE = 0 and N if SQRE = 1. On entry, the
- entries of E contain the offdiagonal entries of the bidiagonal
- matrix whose SVD is desired. On normal exit, E will contain 0. If
- the algorithm does not converge, D and E will contain the diagonal
- and superdiagonal entries of a bidiagonal matrix orthogonally
- equivalent to the one given as input.
-
- VT (input/output) REAL array, dimension (LDVT, NCVT)
- On entry, contains a matrix which on exit has been premultiplied by
- P', dimension N-by-NCVT if SQRE = 0 and (N+1)-by-NCVT if SQRE = 1
- (not referenced if NCVT=0).
-
- LDVT (input) INTEGER
- On entry, LDVT specifies the leading dimension of VT as declared in
- the calling (sub) program. LDVT must be at least 1. If NCVT is
- nonzero LDVT must also be at least N.
-
- U (input/output) REAL array, dimension (LDU, N)
- On entry, contains a matrix which on exit has been postmultiplied
- by Q, dimension NRU-by-N if SQRE = 0 and NRU-by-(N+1) if SQRE = 1
- (not referenced if NRU=0).
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- SSSSLLLLAAAASSSSDDDDQQQQ((((3333SSSS)))) SSSSLLLLAAAASSSSDDDDQQQQ((((3333SSSS))))
-
-
-
- LDU (input) INTEGER
- On entry, LDU specifies the leading dimension of U as declared in
- the calling (sub) program. LDU must be at least max( 1, NRU ) .
-
- C (input/output) REAL array, dimension (LDC, NCC)
- On entry, contains an N-by-NCC matrix which on exit has been
- premultiplied by Q' dimension N-by-NCC if SQRE = 0 and (N+1)-by-
- NCC if SQRE = 1 (not referenced if NCC=0).
-
- LDC (input) INTEGER
- On entry, LDC specifies the leading dimension of C as declared in
- the calling (sub) program. LDC must be at least 1. If NCC is
- nonzero, LDC must also be at least N.
-
- WORK (workspace) REAL array, dimension (4*N)
- Workspace. Only referenced if one of NCVT, NRU, or NCC is nonzero,
- and if N is at least 2.
-
- INFO (output) INTEGER
- On exit, a value of 0 indicates a successful exit. If INFO < 0,
- argument number -INFO is illegal. If INFO > 0, the algorithm did
- not converge, and INFO specifies how many superdiagonals did not
- converge.
-
- FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
- Based on contributions by
- Ming Gu and Huan Ren, Computer Science Division, University of
- California at Berkeley, USA
-
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- INTRO_LAPACK(3S), INTRO_SCSL(3S)
-
- This man page is available only online.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-